Código Final Jogo da Forca
import java.util.Scanner;

public class App {

        public static void main(String[] args) {
                Scanner teclado = new Scanner(System.in);

                int vidasRestantes = 6;
                String letrasCertas = "";
                String letrasTentadas = "";
                char letraChutada;

                String palavra = "treme";

                boolean ganhou = false;

                // contagem de vidas
                do {
                        limparTela();

                        System.out.println("\n\nVidas Restantes: " + vidasRestantes);
                        System.out.println("Letras já Tentadas: " + letrasTentadas + "\n");

                        exibeForca(vidasRestantes);
                        exibePalavraTela(palavra, letrasCertas);

                        System.out.println("\n\n");

                        // impedir letras já tentadas
                        while (true) {
                                System.out.print("Digite uma letra: ");
                                String entrada = teclado.nextLine().toLowerCase();

                                // evita vazio
                                if (entrada.isEmpty())
                                        continue;

                                letraChutada = entrada.charAt(0);

                                if (letrasTentadas.contains(Character.toString(letraChutada))) {
                                        System.out.println("Você já tentou essa letra. Digite outra!");
                                } else {
                                        break;
                                }
                        }

                        // atualiza letras tentadas
                        letrasTentadas += letraChutada;

                        // verifica acerto
                        if (acertouLetra(palavra, letraChutada))
                                letrasCertas += letraChutada;
                        else
                                vidasRestantes--;

                        // verificar se a palavra foi descoberta
                        if (palavraCompleta(palavra, letrasCertas)) {
                                ganhou = true;
                                break;
                        }

                } while (vidasRestantes > 0);

                // mensagem final
                System.out.println("\n======================================");

                if (ganhou) {
                        System.out.println("PARABÉNS! Você ganhou!");
                } else {
                        limparTela();
                        System.out.println("Você perdeu!");
                        System.out.println("\nA palavra era: " + palavra + "\n");
                        exibeForca(0);
                }

                System.out.println("");

                teclado.close();
        }

        static boolean acertouLetra(String palavra, char letraChutada) {
                return palavra.contains(Character.toString(letraChutada));
        }

        static void exibePalavraTela(String palavraSecreta, String letrasCertas) {
                char letra;
                System.out.println("\n\n");

                for (int posicaoLetra = 0; posicaoLetra < palavraSecreta.length(); posicaoLetra++) {
                        letra = palavraSecreta.charAt(posicaoLetra);

                        if (letrasCertas.contains(Character.toString(letra))) {
                                System.out.print("  _" + letra + "_  ");
                        } else {
                                System.out.print("  ____  ");
                        }
                }
        }

        // verifica se todas as letras foram descobertas
        static boolean palavraCompleta(String palavra, String letrasCertas) {
                for (int i = 0; i < palavra.length(); i++) {
                        char letra = palavra.charAt(i);
                        if (!letrasCertas.contains(Character.toString(letra))) {
                                return false;
                        }
                }
                return true;
        }
        
        // limpa a tela do console
        static void limparTela() {
                try {
                        // Para Windows
                        if (System.getProperty("os.name").toLowerCase().contains("win")) {
                                new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
                        } else {
                                // Linux / Mac
                                System.out.print("\033[H\033[2J");
                                System.out.flush();
                        }
                } catch (Exception e) {
                        // Se não funcionar, imprime várias linhas para "simular" limpeza
                        for (int i = 0; i < 50; i++)
                                System.out.println();
                }
        }

        static void exibeForca(int contagemErro) {
                switch (contagemErro) {
                        case 6:
                                System.out.println("""
                                                    +---+
                                                    |   |

                                                        |
                                                        |
                                                        |
                                                        |
                                                ========= """);
                                break;

                        case 5:
                                System.out.println("""
                                                    +---+
                                                    |   |
                                                    O   |
                                                        |
                                                        |
                                                        |
                                                ========= """);
                                break;

                        case 4:
                                System.out.println("""
                                                    +---+
                                                    |   |
                                                    O   |
                                                    |   |
                                                        |
                                                        |
                                                ========= """);
                                break;

                        case 3:
                                System.out.println("""
                                                    +---+
                                                    |   |
                                                    O   |
                                                   /|   |
                                                        |
                                                        |
                                                ========= """);
                                break;

                        case 2:
                                System.out.println("""
                                                    +---+
                                                    |   |
                                                    O   |
                                                   /|\\  |
                                                        |
                                                        |
                                                ========= """);
                                break;

                        case 1:
                                System.out.println("""
                                                    +---+
                                                    |   |
                                                    O   |
                                                   /|\\  |
                                                   /    |
                                                        |
                                                ========= """);
                                break;

                        case 0:
                                System.out.println("""
                                                    +---+
                                                    |   |
                                                    O   |
                                                   /|\\  |
                                                   / \\  |
                                                        |
                                                ========= """);
                                break;

                        default:
                                break;
                }
        }

}